using System;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Way.EntityDB.Attributes;
using System.Diagnostics.CodeAnalysis;

namespace CheckIn.AdminServer.PlanDBModels
{
    /// <summary>打卡项</summary>
    [TableConfig]
    [Table("checkinitem")]
    [Way.EntityDB.DataItemJsonConverter]
    public partial class CheckInItem :Way.EntityDB.DataItem
    {
        System.Nullable<Int64> _id;
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DisallowNull]
        [Column("id")]
        public virtual System.Nullable<Int64> id
        {
            get
            {
                return _id;
            }
            set
            {
                if ((_id != value))
                {
                    SendPropertyChanging("id",_id,value);
                    _id = value;
                    SendPropertyChanged("id");
                }
            }
        }
        string _Title;
        /// <summary>标题</summary>
        [MaxLength(255)]
        [DisallowNull]
        [Display(Name = "标题")]
        [Column("title")]
        public virtual string Title
        {
            get
            {
                return _Title;
            }
            set
            {
                if ((_Title != value))
                {
                    SendPropertyChanging("Title",_Title,value);
                    _Title = value;
                    SendPropertyChanged("Title");
                }
            }
        }
        string? _SubTitle;
        /// <summary>副标题</summary>
        [MaxLength(255)]
        [Display(Name = "副标题")]
        [Column("subtitle")]
        public virtual string? SubTitle
        {
            get
            {
                return _SubTitle;
            }
            set
            {
                if ((_SubTitle != value))
                {
                    SendPropertyChanging("SubTitle",_SubTitle,value);
                    _SubTitle = value;
                    SendPropertyChanged("SubTitle");
                }
            }
        }
        string? _Intro;
        /// <summary>介绍</summary>
        [Display(Name = "介绍")]
        [Column("intro")]
        public virtual string? Intro
        {
            get
            {
                return _Intro;
            }
            set
            {
                if ((_Intro != value))
                {
                    SendPropertyChanging("Intro",_Intro,value);
                    _Intro = value;
                    SendPropertyChanged("Intro");
                }
            }
        }
        CheckInItem_ModeEnum _Mode=(CheckInItem_ModeEnum)(1);
        /// <summary>打卡方式</summary>
        [DisallowNull]
        [Display(Name = "打卡方式")]
        [Column("mode")]
        public virtual CheckInItem_ModeEnum Mode
        {
            get
            {
                return _Mode;
            }
            set
            {
                if ((_Mode != value))
                {
                    SendPropertyChanging("Mode",_Mode,value);
                    _Mode = value;
                    SendPropertyChanged("Mode");
                }
            }
        }
        CheckInItem_OpenModeEnum _OpenMode=(CheckInItem_OpenModeEnum)(1);
        /// <summary>开放权限</summary>
        [DisallowNull]
        [Display(Name = "开放权限")]
        [Column("openmode")]
        public virtual CheckInItem_OpenModeEnum OpenMode
        {
            get
            {
                return _OpenMode;
            }
            set
            {
                if ((_OpenMode != value))
                {
                    SendPropertyChanging("OpenMode",_OpenMode,value);
                    _OpenMode = value;
                    SendPropertyChanged("OpenMode");
                }
            }
        }
        Int64 _OwnerId=0;
        /// <summary>创建人id，0表示系统创建</summary>
        [DisallowNull]
        [Display(Name = "创建人id，0表示系统创建")]
        [Column("ownerid")]
        public virtual Int64 OwnerId
        {
            get
            {
                return _OwnerId;
            }
            set
            {
                if ((_OwnerId != value))
                {
                    SendPropertyChanging("OwnerId",_OwnerId,value);
                    _OwnerId = value;
                    SendPropertyChanged("OwnerId");
                }
            }
        }
        DateTime _CreateTime;
        /// <summary>创建时间</summary>
        [DisallowNull]
        [Display(Name = "创建时间")]
        [Column("createtime")]
        public virtual DateTime CreateTime
        {
            get
            {
                return _CreateTime;
            }
            set
            {
                if ((_CreateTime != value))
                {
                    SendPropertyChanging("CreateTime",_CreateTime,value);
                    _CreateTime = value;
                    SendPropertyChanged("CreateTime");
                }
            }
        }
        Int32 _JoinCount=0;
        /// <summary>加入人数</summary>
        [DisallowNull]
        [Display(Name = "加入人数")]
        [Column("joincount")]
        public virtual Int32 JoinCount
        {
            get
            {
                return _JoinCount;
            }
            set
            {
                if ((_JoinCount != value))
                {
                    SendPropertyChanging("JoinCount",_JoinCount,value);
                    _JoinCount = value;
                    SendPropertyChanged("JoinCount");
                }
            }
        }
        CheckInItemUIExt? _UIExt;
        /// <summary>扩展信息</summary>
        [Display(Name = "扩展信息")]
        [Column("uiext",TypeName = "jsonb")]
        public virtual CheckInItemUIExt? UIExt
        {
            get
            {
                return _UIExt;
            }
            set
            {
                    SendPropertyChanging("UIExt",_UIExt,value);
                    _UIExt = value;
                    SendPropertyChanged("UIExt");
            }
        }
        /// <summary>把字段的更新，设置为一个指定的表达式值</summary>
        /// <param>指定的更新表达式，如 m=&gt;m.age == m.age + 1 &amp;&amp; name == name + "aa"，相当于sql语句的 age=age+1,name=name + 'aa'</param>
         public virtual void SetValue(System.Linq.Expressions.Expression<Func<CheckInItem, bool>> exp)
        {
            base.SetValue<CheckInItem>(exp);
        }
    }
    public enum CheckInItem_ModeEnum:int
    {
        /// <summary>时间段</summary>
        Range = 1,
        /// <summary>时间点</summary>
        Time = 2
    }
    public enum CheckInItem_OpenModeEnum:int
    {
        /// <summary>私人</summary>
        Personal = 1,
        /// <summary>公开的</summary>
        Open = 2,
        /// <summary>关注可见</summary>
        ForFllow = 3
    }
    /// <summary>用户参与的打卡项</summary>
    [TableConfig]
    [Table("useritem")]
    [Way.EntityDB.DataItemJsonConverter]
    public partial class UserItem :Way.EntityDB.DataItem
    {
        System.Nullable<Int64> _id;
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DisallowNull]
        [Column("id")]
        public virtual System.Nullable<Int64> id
        {
            get
            {
                return _id;
            }
            set
            {
                if ((_id != value))
                {
                    SendPropertyChanging("id",_id,value);
                    _id = value;
                    SendPropertyChanged("id");
                }
            }
        }
        Int64 _ItemId;
        /// <summary>打卡项id</summary>
        [DisallowNull]
        [Display(Name = "打卡项id")]
        [Column("itemid")]
        public virtual Int64 ItemId
        {
            get
            {
                return _ItemId;
            }
            set
            {
                if ((_ItemId != value))
                {
                    SendPropertyChanging("ItemId",_ItemId,value);
                    _ItemId = value;
                    SendPropertyChanged("ItemId");
                }
            }
        }
        Int64 _UserId;
        /// <summary>用户id</summary>
        [DisallowNull]
        [Display(Name = "用户id")]
        [Column("userid")]
        public virtual Int64 UserId
        {
            get
            {
                return _UserId;
            }
            set
            {
                if ((_UserId != value))
                {
                    SendPropertyChanging("UserId",_UserId,value);
                    _UserId = value;
                    SendPropertyChanged("UserId");
                }
            }
        }
        DateTime _JoinTime;
        /// <summary>加入时间</summary>
        [DisallowNull]
        [Display(Name = "加入时间")]
        [Column("jointime")]
        public virtual DateTime JoinTime
        {
            get
            {
                return _JoinTime;
            }
            set
            {
                if ((_JoinTime != value))
                {
                    SendPropertyChanging("JoinTime",_JoinTime,value);
                    _JoinTime = value;
                    SendPropertyChanged("JoinTime");
                }
            }
        }
        /// <summary>把字段的更新，设置为一个指定的表达式值</summary>
        /// <param>指定的更新表达式，如 m=&gt;m.age == m.age + 1 &amp;&amp; name == name + "aa"，相当于sql语句的 age=age+1,name=name + 'aa'</param>
         public virtual void SetValue(System.Linq.Expressions.Expression<Func<UserItem, bool>> exp)
        {
            base.SetValue<UserItem>(exp);
        }
    }
    /// <summary>打卡计划</summary>
    [TableConfig]
    [Table("checkindaytime")]
    [Way.EntityDB.DataItemJsonConverter]
    public partial class CheckInDayTime :Way.EntityDB.DataItem
    {
        System.Nullable<Int64> _id;
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DisallowNull]
        [Column("id")]
        public virtual System.Nullable<Int64> id
        {
            get
            {
                return _id;
            }
            set
            {
                if ((_id != value))
                {
                    SendPropertyChanging("id",_id,value);
                    _id = value;
                    SendPropertyChanged("id");
                }
            }
        }
        Int64 _UserId;
        /// <summary>用户id</summary>
        [DisallowNull]
        [Display(Name = "用户id")]
        [Column("userid")]
        public virtual Int64 UserId
        {
            get
            {
                return _UserId;
            }
            set
            {
                if ((_UserId != value))
                {
                    SendPropertyChanging("UserId",_UserId,value);
                    _UserId = value;
                    SendPropertyChanged("UserId");
                }
            }
        }
        Int64 _ItemId;
        /// <summary>打卡项id</summary>
        [DisallowNull]
        [Display(Name = "打卡项id")]
        [Column("itemid")]
        public virtual Int64 ItemId
        {
            get
            {
                return _ItemId;
            }
            set
            {
                if ((_ItemId != value))
                {
                    SendPropertyChanging("ItemId",_ItemId,value);
                    _ItemId = value;
                    SendPropertyChanged("ItemId");
                }
            }
        }
        CheckInDayTime_WeekDayEnum _WeekDay;
        /// <summary>
        /// 打卡日
        /// 举例：
        /// 假如选择周一和周三，值等于计算公式： (1 | 4)
        /// 如果要判断是否值包含了周六，则用计算式：(数值 &amp; 32)==32 来判断
        /// </summary>
        [DisallowNull]
        [Display(Name = "打卡日 举例： 假如选择周一和周三，值等于计算公式： (1 | 4) 如果要判断是否值包含了周六，则用计算式：(数值 & 32)==32 来判断")]
        [Column("weekday")]
        public virtual CheckInDayTime_WeekDayEnum WeekDay
        {
            get
            {
                return _WeekDay;
            }
            set
            {
                if ((_WeekDay != value))
                {
                    SendPropertyChanging("WeekDay",_WeekDay,value);
                    _WeekDay = value;
                    SendPropertyChanged("WeekDay");
                }
            }
        }
        CheckIn.PlanHost.Dtos.TimeRange[]? _Times;
        /// <summary>时间段数组</summary>
        [Display(Name = "时间段数组")]
        [Column("times",TypeName = "jsonb")]
        public virtual CheckIn.PlanHost.Dtos.TimeRange[]? Times
        {
            get
            {
                return _Times;
            }
            set
            {
                    SendPropertyChanging("Times",_Times,value);
                    _Times = value;
                    SendPropertyChanged("Times");
            }
        }
        /// <summary>把字段的更新，设置为一个指定的表达式值</summary>
        /// <param>指定的更新表达式，如 m=&gt;m.age == m.age + 1 &amp;&amp; name == name + "aa"，相当于sql语句的 age=age+1,name=name + 'aa'</param>
         public virtual void SetValue(System.Linq.Expressions.Expression<Func<CheckInDayTime, bool>> exp)
        {
            base.SetValue<CheckInDayTime>(exp);
        }
    }
    public enum CheckInDayTime_WeekDayEnum:int
    {
        /// <summary>周一</summary>
        Monday = 1<<0,
        /// <summary>周二</summary>
        Tuesday = 1<<1,
        /// <summary>周三</summary>
        Wednesday = 1<<2,
        /// <summary>周四</summary>
        Thursday = 1<<3,
        /// <summary>周五</summary>
        Friday = 1<<4,
        /// <summary>周六</summary>
        Saturday = 1<<5,
        /// <summary>周日</summary>
        Sunday = 1<<6,
    }
    /// <summary>打卡记录</summary>
    [TableConfig]
    [Table("checkinhistory")]
    [Way.EntityDB.DataItemJsonConverter]
    public partial class CheckInHistory :Way.EntityDB.DataItem
    {
        System.Nullable<Int64> _id;
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DisallowNull]
        [Column("id")]
        public virtual System.Nullable<Int64> id
        {
            get
            {
                return _id;
            }
            set
            {
                if ((_id != value))
                {
                    SendPropertyChanging("id",_id,value);
                    _id = value;
                    SendPropertyChanged("id");
                }
            }
        }
        Int64 _UserId;
        /// <summary>打卡人</summary>
        [DisallowNull]
        [Display(Name = "打卡人")]
        [Column("userid")]
        public virtual Int64 UserId
        {
            get
            {
                return _UserId;
            }
            set
            {
                if ((_UserId != value))
                {
                    SendPropertyChanging("UserId",_UserId,value);
                    _UserId = value;
                    SendPropertyChanged("UserId");
                }
            }
        }
        Int64 _ItemId;
        /// <summary>打卡项目</summary>
        [DisallowNull]
        [Display(Name = "打卡项目")]
        [Column("itemid")]
        public virtual Int64 ItemId
        {
            get
            {
                return _ItemId;
            }
            set
            {
                if ((_ItemId != value))
                {
                    SendPropertyChanging("ItemId",_ItemId,value);
                    _ItemId = value;
                    SendPropertyChanged("ItemId");
                }
            }
        }
        DateTime _CreateTime;
        [DisallowNull]
        [Column("createtime")]
        public virtual DateTime CreateTime
        {
            get
            {
                return _CreateTime;
            }
            set
            {
                if ((_CreateTime != value))
                {
                    SendPropertyChanging("CreateTime",_CreateTime,value);
                    _CreateTime = value;
                    SendPropertyChanged("CreateTime");
                }
            }
        }
        DateTime _Date;
        /// <summary>打卡日期</summary>
        [DisallowNull]
        [Display(Name = "打卡日期")]
        [Column("date")]
        public virtual DateTime Date
        {
            get
            {
                return _Date;
            }
            set
            {
                if ((_Date != value))
                {
                    SendPropertyChanging("Date",_Date,value);
                    _Date = value;
                    SendPropertyChanged("Date");
                }
            }
        }
        System.Nullable<DateTime> _StartTime;
        /// <summary>开始时间</summary>
        [Display(Name = "开始时间")]
        [Column("starttime")]
        public virtual System.Nullable<DateTime> StartTime
        {
            get
            {
                return _StartTime;
            }
            set
            {
                if ((_StartTime != value))
                {
                    SendPropertyChanging("StartTime",_StartTime,value);
                    _StartTime = value;
                    SendPropertyChanged("StartTime");
                }
            }
        }
        System.Nullable<DateTime> _EndTime;
        /// <summary>结束时间</summary>
        [Display(Name = "结束时间")]
        [Column("endtime")]
        public virtual System.Nullable<DateTime> EndTime
        {
            get
            {
                return _EndTime;
            }
            set
            {
                if ((_EndTime != value))
                {
                    SendPropertyChanging("EndTime",_EndTime,value);
                    _EndTime = value;
                    SendPropertyChanged("EndTime");
                }
            }
        }
        System.Nullable<Int32> _Minutes;
        /// <summary>
        /// 时长（分钟）
        /// 服务器自动计算
        /// </summary>
        [Display(Name = "时长（分钟） 服务器自动计算")]
        [Column("minutes")]
        public virtual System.Nullable<Int32> Minutes
        {
            get
            {
                return _Minutes;
            }
            set
            {
                if ((_Minutes != value))
                {
                    SendPropertyChanging("Minutes",_Minutes,value);
                    _Minutes = value;
                    SendPropertyChanged("Minutes");
                }
            }
        }
        string? _Content;
        /// <summary>感悟</summary>
        [Display(Name = "感悟")]
        [Column("content")]
        public virtual string? Content
        {
            get
            {
                return _Content;
            }
            set
            {
                if ((_Content != value))
                {
                    SendPropertyChanging("Content",_Content,value);
                    _Content = value;
                    SendPropertyChanged("Content");
                }
            }
        }
        long[]? _OpenUserIds;
        /// <summary>
        /// 谁可以看
        /// null表示公开
        /// </summary>
        [Display(Name = "谁可以看 null表示公开")]
        [Column("openuserids",TypeName = "jsonb")]
        public virtual long[]? OpenUserIds
        {
            get
            {
                return _OpenUserIds;
            }
            set
            {
                    SendPropertyChanging("OpenUserIds",_OpenUserIds,value);
                    _OpenUserIds = value;
                    SendPropertyChanged("OpenUserIds");
            }
        }
        string[]? _Pics;
        /// <summary>照片</summary>
        [Display(Name = "照片")]
        [Column("pics",TypeName = "jsonb")]
        public virtual string[]? Pics
        {
            get
            {
                return _Pics;
            }
            set
            {
                    SendPropertyChanging("Pics",_Pics,value);
                    _Pics = value;
                    SendPropertyChanged("Pics");
            }
        }
        Int32 _Likes=0;
        /// <summary>点赞数</summary>
        [DisallowNull]
        [Display(Name = "点赞数")]
        [Column("likes")]
        public virtual Int32 Likes
        {
            get
            {
                return _Likes;
            }
            set
            {
                if ((_Likes != value))
                {
                    SendPropertyChanging("Likes",_Likes,value);
                    _Likes = value;
                    SendPropertyChanged("Likes");
                }
            }
        }
        Int32 _Comments=0;
        /// <summary>评论数</summary>
        [DisallowNull]
        [Display(Name = "评论数")]
        [Column("comments")]
        public virtual Int32 Comments
        {
            get
            {
                return _Comments;
            }
            set
            {
                if ((_Comments != value))
                {
                    SendPropertyChanging("Comments",_Comments,value);
                    _Comments = value;
                    SendPropertyChanged("Comments");
                }
            }
        }
        HistoryExt? _Ext;
        /// <summary>扩展信息</summary>
        [Display(Name = "扩展信息")]
        [Column("ext",TypeName = "jsonb")]
        public virtual HistoryExt? Ext
        {
            get
            {
                return _Ext;
            }
            set
            {
                    SendPropertyChanging("Ext",_Ext,value);
                    _Ext = value;
                    SendPropertyChanged("Ext");
            }
        }
        /// <summary>把字段的更新，设置为一个指定的表达式值</summary>
        /// <param>指定的更新表达式，如 m=&gt;m.age == m.age + 1 &amp;&amp; name == name + "aa"，相当于sql语句的 age=age+1,name=name + 'aa'</param>
         public virtual void SetValue(System.Linq.Expressions.Expression<Func<CheckInHistory, bool>> exp)
        {
            base.SetValue<CheckInHistory>(exp);
        }
    }
    /// <summary>评论打卡记录</summary>
    [TableConfig]
    [Table("hisotrycomment")]
    [Way.EntityDB.DataItemJsonConverter]
    public partial class HisotryComment :Way.EntityDB.DataItem
    {
        System.Nullable<Int64> _id;
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DisallowNull]
        [Column("id")]
        public virtual System.Nullable<Int64> id
        {
            get
            {
                return _id;
            }
            set
            {
                if ((_id != value))
                {
                    SendPropertyChanging("id",_id,value);
                    _id = value;
                    SendPropertyChanged("id");
                }
            }
        }
        Int64 _UserId;
        /// <summary>打卡人id</summary>
        [DisallowNull]
        [Display(Name = "打卡人id")]
        [Column("userid")]
        public virtual Int64 UserId
        {
            get
            {
                return _UserId;
            }
            set
            {
                if ((_UserId != value))
                {
                    SendPropertyChanging("UserId",_UserId,value);
                    _UserId = value;
                    SendPropertyChanged("UserId");
                }
            }
        }
        Int64 _HistoryId;
        /// <summary>打卡记录id</summary>
        [DisallowNull]
        [Display(Name = "打卡记录id")]
        [Column("historyid")]
        public virtual Int64 HistoryId
        {
            get
            {
                return _HistoryId;
            }
            set
            {
                if ((_HistoryId != value))
                {
                    SendPropertyChanging("HistoryId",_HistoryId,value);
                    _HistoryId = value;
                    SendPropertyChanged("HistoryId");
                }
            }
        }
        DateTime _CreateTime;
        [DisallowNull]
        [Column("createtime")]
        public virtual DateTime CreateTime
        {
            get
            {
                return _CreateTime;
            }
            set
            {
                if ((_CreateTime != value))
                {
                    SendPropertyChanging("CreateTime",_CreateTime,value);
                    _CreateTime = value;
                    SendPropertyChanged("CreateTime");
                }
            }
        }
        Int64 _CommentUserId;
        /// <summary>评论人id</summary>
        [DisallowNull]
        [Display(Name = "评论人id")]
        [Column("commentuserid")]
        public virtual Int64 CommentUserId
        {
            get
            {
                return _CommentUserId;
            }
            set
            {
                if ((_CommentUserId != value))
                {
                    SendPropertyChanging("CommentUserId",_CommentUserId,value);
                    _CommentUserId = value;
                    SendPropertyChanged("CommentUserId");
                }
            }
        }
        string? _Content;
        /// <summary>内容</summary>
        [MaxLength(255)]
        [Display(Name = "内容")]
        [Column("content")]
        public virtual string? Content
        {
            get
            {
                return _Content;
            }
            set
            {
                if ((_Content != value))
                {
                    SendPropertyChanging("Content",_Content,value);
                    _Content = value;
                    SendPropertyChanged("Content");
                }
            }
        }
        UserInfoExt? _CommentUserExt;
        /// <summary>评论人扩展信息</summary>
        [Display(Name = "评论人扩展信息")]
        [Column("commentuserext",TypeName = "jsonb")]
        public virtual UserInfoExt? CommentUserExt
        {
            get
            {
                return _CommentUserExt;
            }
            set
            {
                    SendPropertyChanging("CommentUserExt",_CommentUserExt,value);
                    _CommentUserExt = value;
                    SendPropertyChanged("CommentUserExt");
            }
        }
        /// <summary>把字段的更新，设置为一个指定的表达式值</summary>
        /// <param>指定的更新表达式，如 m=&gt;m.age == m.age + 1 &amp;&amp; name == name + "aa"，相当于sql语句的 age=age+1,name=name + 'aa'</param>
         public virtual void SetValue(System.Linq.Expressions.Expression<Func<HisotryComment, bool>> exp)
        {
            base.SetValue<HisotryComment>(exp);
        }
    }
    /// <summary>活动</summary>
    [TableConfig]
    [Table("activity")]
    [Way.EntityDB.DataItemJsonConverter]
    public partial class Activity :Way.EntityDB.DataItem
    {
        System.Nullable<Int64> _id;
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DisallowNull]
        [Column("id")]
        public virtual System.Nullable<Int64> id
        {
            get
            {
                return _id;
            }
            set
            {
                if ((_id != value))
                {
                    SendPropertyChanging("id",_id,value);
                    _id = value;
                    SendPropertyChanged("id");
                }
            }
        }
        string? _Title;
        /// <summary>活动标题</summary>
        [MaxLength(250)]
        [Display(Name = "活动标题")]
        [Column("title")]
        public virtual string? Title
        {
            get
            {
                return _Title;
            }
            set
            {
                if ((_Title != value))
                {
                    SendPropertyChanging("Title",_Title,value);
                    _Title = value;
                    SendPropertyChanged("Title");
                }
            }
        }
        string? _Sponsor;
        /// <summary>主办方</summary>
        [MaxLength(255)]
        [Display(Name = "主办方")]
        [Column("sponsor")]
        public virtual string? Sponsor
        {
            get
            {
                return _Sponsor;
            }
            set
            {
                if ((_Sponsor != value))
                {
                    SendPropertyChanging("Sponsor",_Sponsor,value);
                    _Sponsor = value;
                    SendPropertyChanged("Sponsor");
                }
            }
        }
        string? _Location;
        /// <summary>地址</summary>
        [MaxLength(255)]
        [Display(Name = "地址")]
        [Column("location")]
        public virtual string? Location
        {
            get
            {
                return _Location;
            }
            set
            {
                if ((_Location != value))
                {
                    SendPropertyChanging("Location",_Location,value);
                    _Location = value;
                    SendPropertyChanged("Location");
                }
            }
        }
        string? _Introduction;
        /// <summary>介绍</summary>
        [Display(Name = "介绍")]
        [Column("introduction")]
        public virtual string? Introduction
        {
            get
            {
                return _Introduction;
            }
            set
            {
                if ((_Introduction != value))
                {
                    SendPropertyChanging("Introduction",_Introduction,value);
                    _Introduction = value;
                    SendPropertyChanged("Introduction");
                }
            }
        }
        string? _ImgUrl;
        /// <summary>封面图地址</summary>
        [MaxLength(250)]
        [Display(Name = "封面图地址")]
        [Column("imgurl")]
        public virtual string? ImgUrl
        {
            get
            {
                return _ImgUrl;
            }
            set
            {
                if ((_ImgUrl != value))
                {
                    SendPropertyChanging("ImgUrl",_ImgUrl,value);
                    _ImgUrl = value;
                    SendPropertyChanged("ImgUrl");
                }
            }
        }
        System.Nullable<DateTime> _JoinStartTime;
        /// <summary>报名开始时间</summary>
        [Display(Name = "报名开始时间")]
        [Column("joinstarttime")]
        public virtual System.Nullable<DateTime> JoinStartTime
        {
            get
            {
                return _JoinStartTime;
            }
            set
            {
                if ((_JoinStartTime != value))
                {
                    SendPropertyChanging("JoinStartTime",_JoinStartTime,value);
                    _JoinStartTime = value;
                    SendPropertyChanged("JoinStartTime");
                }
            }
        }
        System.Nullable<DateTime> _JoinEndTime;
        /// <summary>报名截止时间</summary>
        [Display(Name = "报名截止时间")]
        [Column("joinendtime")]
        public virtual System.Nullable<DateTime> JoinEndTime
        {
            get
            {
                return _JoinEndTime;
            }
            set
            {
                if ((_JoinEndTime != value))
                {
                    SendPropertyChanging("JoinEndTime",_JoinEndTime,value);
                    _JoinEndTime = value;
                    SendPropertyChanged("JoinEndTime");
                }
            }
        }
        DateTime _BeginTime;
        /// <summary>活动开始时间</summary>
        [DisallowNull]
        [Display(Name = "活动开始时间")]
        [Column("begintime")]
        public virtual DateTime BeginTime
        {
            get
            {
                return _BeginTime;
            }
            set
            {
                if ((_BeginTime != value))
                {
                    SendPropertyChanging("BeginTime",_BeginTime,value);
                    _BeginTime = value;
                    SendPropertyChanged("BeginTime");
                }
            }
        }
        DateTime _EndTime;
        /// <summary>活动结束时间</summary>
        [DisallowNull]
        [Display(Name = "活动结束时间")]
        [Column("endtime")]
        public virtual DateTime EndTime
        {
            get
            {
                return _EndTime;
            }
            set
            {
                if ((_EndTime != value))
                {
                    SendPropertyChanging("EndTime",_EndTime,value);
                    _EndTime = value;
                    SendPropertyChanged("EndTime");
                }
            }
        }
        System.Nullable<DateTime> _CreateTime;
        /// <summary>创建时间</summary>
        [Display(Name = "创建时间")]
        [Column("createtime")]
        public virtual System.Nullable<DateTime> CreateTime
        {
            get
            {
                return _CreateTime;
            }
            set
            {
                if ((_CreateTime != value))
                {
                    SendPropertyChanging("CreateTime",_CreateTime,value);
                    _CreateTime = value;
                    SendPropertyChanged("CreateTime");
                }
            }
        }
        Int32 _JoinCount=0;
        /// <summary>参与人数</summary>
        [DisallowNull]
        [Display(Name = "参与人数")]
        [Column("joincount")]
        public virtual Int32 JoinCount
        {
            get
            {
                return _JoinCount;
            }
            set
            {
                if ((_JoinCount != value))
                {
                    SendPropertyChanging("JoinCount",_JoinCount,value);
                    _JoinCount = value;
                    SendPropertyChanged("JoinCount");
                }
            }
        }
        System.Nullable<Int32> _Sort;
        /// <summary>推荐排序，由小到大</summary>
        [Display(Name = "推荐排序，由小到大")]
        [Column("sort")]
        public virtual System.Nullable<Int32> Sort
        {
            get
            {
                return _Sort;
            }
            set
            {
                if ((_Sort != value))
                {
                    SendPropertyChanging("Sort",_Sort,value);
                    _Sort = value;
                    SendPropertyChanged("Sort");
                }
            }
        }
        ActivityUIExt? _UIExt;
        /// <summary>扩展信息</summary>
        [Display(Name = "扩展信息")]
        [Column("uiext",TypeName = "jsonb")]
        public virtual ActivityUIExt? UIExt
        {
            get
            {
                return _UIExt;
            }
            set
            {
                    SendPropertyChanging("UIExt",_UIExt,value);
                    _UIExt = value;
                    SendPropertyChanged("UIExt");
            }
        }
        /// <summary>把字段的更新，设置为一个指定的表达式值</summary>
        /// <param>指定的更新表达式，如 m=&gt;m.age == m.age + 1 &amp;&amp; name == name + "aa"，相当于sql语句的 age=age+1,name=name + 'aa'</param>
         public virtual void SetValue(System.Linq.Expressions.Expression<Func<Activity, bool>> exp)
        {
            base.SetValue<Activity>(exp);
        }
    }
    /// <summary>活动参与人</summary>
    [TableConfig]
    [Table("activityjoin")]
    [Way.EntityDB.DataItemJsonConverter]
    public partial class ActivityJoin :Way.EntityDB.DataItem
    {
        System.Nullable<Int64> _id;
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DisallowNull]
        [Column("id")]
        public virtual System.Nullable<Int64> id
        {
            get
            {
                return _id;
            }
            set
            {
                if ((_id != value))
                {
                    SendPropertyChanging("id",_id,value);
                    _id = value;
                    SendPropertyChanged("id");
                }
            }
        }
        Int64 _ActivityId;
        [DisallowNull]
        [Column("activityid")]
        public virtual Int64 ActivityId
        {
            get
            {
                return _ActivityId;
            }
            set
            {
                if ((_ActivityId != value))
                {
                    SendPropertyChanging("ActivityId",_ActivityId,value);
                    _ActivityId = value;
                    SendPropertyChanged("ActivityId");
                }
            }
        }
        Int64 _UserId;
        [DisallowNull]
        [Column("userid")]
        public virtual Int64 UserId
        {
            get
            {
                return _UserId;
            }
            set
            {
                if ((_UserId != value))
                {
                    SendPropertyChanging("UserId",_UserId,value);
                    _UserId = value;
                    SendPropertyChanged("UserId");
                }
            }
        }
        DateTime _JoinTime;
        /// <summary>参与时间</summary>
        [DisallowNull]
        [Display(Name = "参与时间")]
        [Column("jointime")]
        public virtual DateTime JoinTime
        {
            get
            {
                return _JoinTime;
            }
            set
            {
                if ((_JoinTime != value))
                {
                    SendPropertyChanging("JoinTime",_JoinTime,value);
                    _JoinTime = value;
                    SendPropertyChanged("JoinTime");
                }
            }
        }
        string? _Name;
        /// <summary>姓名</summary>
        [MaxLength(50)]
        [Display(Name = "姓名")]
        [Column("name")]
        public virtual string? Name
        {
            get
            {
                return _Name;
            }
            set
            {
                if ((_Name != value))
                {
                    SendPropertyChanging("Name",_Name,value);
                    _Name = value;
                    SendPropertyChanged("Name");
                }
            }
        }
        ActivityJoin_SexEnum? _Sex;
        /// <summary>性别</summary>
        [Display(Name = "性别")]
        [Column("sex")]
        public virtual ActivityJoin_SexEnum? Sex
        {
            get
            {
                return _Sex;
            }
            set
            {
                if ((_Sex != value))
                {
                    SendPropertyChanging("Sex",_Sex,value);
                    _Sex = value;
                    SendPropertyChanged("Sex");
                }
            }
        }
        System.Nullable<Int32> _Age;
        /// <summary>年龄</summary>
        [Display(Name = "年龄")]
        [Column("age")]
        public virtual System.Nullable<Int32> Age
        {
            get
            {
                return _Age;
            }
            set
            {
                if ((_Age != value))
                {
                    SendPropertyChanging("Age",_Age,value);
                    _Age = value;
                    SendPropertyChanged("Age");
                }
            }
        }
        string? _Phone;
        /// <summary>手机号</summary>
        [MaxLength(50)]
        [Display(Name = "手机号")]
        [Column("phone")]
        public virtual string? Phone
        {
            get
            {
                return _Phone;
            }
            set
            {
                if ((_Phone != value))
                {
                    SendPropertyChanging("Phone",_Phone,value);
                    _Phone = value;
                    SendPropertyChanged("Phone");
                }
            }
        }
        /// <summary>把字段的更新，设置为一个指定的表达式值</summary>
        /// <param>指定的更新表达式，如 m=&gt;m.age == m.age + 1 &amp;&amp; name == name + "aa"，相当于sql语句的 age=age+1,name=name + 'aa'</param>
         public virtual void SetValue(System.Linq.Expressions.Expression<Func<ActivityJoin, bool>> exp)
        {
            base.SetValue<ActivityJoin>(exp);
        }
    }
    public enum ActivityJoin_SexEnum:int
    {
        /// <summary>男</summary>
        Man = 1,
        /// <summary>女</summary>
        Woman = 2
    }
    /// <summary>点赞记录</summary>
    [TableConfig]
    [Table("likehistory")]
    [Way.EntityDB.DataItemJsonConverter]
    public partial class LikeHistory :Way.EntityDB.DataItem
    {
        System.Nullable<Int64> _id;
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DisallowNull]
        [Column("id")]
        public virtual System.Nullable<Int64> id
        {
            get
            {
                return _id;
            }
            set
            {
                if ((_id != value))
                {
                    SendPropertyChanging("id",_id,value);
                    _id = value;
                    SendPropertyChanged("id");
                }
            }
        }
        Int64 _CheckInHistoryId;
        [DisallowNull]
        [Column("checkinhistoryid")]
        public virtual Int64 CheckInHistoryId
        {
            get
            {
                return _CheckInHistoryId;
            }
            set
            {
                if ((_CheckInHistoryId != value))
                {
                    SendPropertyChanging("CheckInHistoryId",_CheckInHistoryId,value);
                    _CheckInHistoryId = value;
                    SendPropertyChanged("CheckInHistoryId");
                }
            }
        }
        Int64 _UserId;
        [DisallowNull]
        [Column("userid")]
        public virtual Int64 UserId
        {
            get
            {
                return _UserId;
            }
            set
            {
                if ((_UserId != value))
                {
                    SendPropertyChanging("UserId",_UserId,value);
                    _UserId = value;
                    SendPropertyChanged("UserId");
                }
            }
        }
        System.Nullable<DateTime> _Time;
        [Column("time")]
        public virtual System.Nullable<DateTime> Time
        {
            get
            {
                return _Time;
            }
            set
            {
                if ((_Time != value))
                {
                    SendPropertyChanging("Time",_Time,value);
                    _Time = value;
                    SendPropertyChanged("Time");
                }
            }
        }
        /// <summary>把字段的更新，设置为一个指定的表达式值</summary>
        /// <param>指定的更新表达式，如 m=&gt;m.age == m.age + 1 &amp;&amp; name == name + "aa"，相当于sql语句的 age=age+1,name=name + 'aa'</param>
         public virtual void SetValue(System.Linq.Expressions.Expression<Func<LikeHistory, bool>> exp)
        {
            base.SetValue<LikeHistory>(exp);
        }
    }
}

namespace CheckIn.AdminServer.PlanDBModels.DB
{
    public class CheckInPlan : Way.EntityDB.DBContext
    {
         public CheckInPlan(string connection, Way.EntityDB.DatabaseType dbType , bool upgradeDatabase = true): base(connection, dbType , upgradeDatabase)
        {
            if (!setEvented)
            {
                lock (lockObj)
                {
                    if (!setEvented)
                    {
                        setEvented = true;
                        Way.EntityDB.DBContext.BeforeDelete += Database_BeforeDelete;
                    }
                }
            }
        }
        static object lockObj = new object();
        static bool setEvented = false;
        static void Database_BeforeDelete(object sender, Way.EntityDB.DatabaseModifyEventArg e)
        {
             var db =  sender as CheckInPlan;
            if (db == null) return;
        }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<CheckInItem>().HasKey(m => m.id);
            modelBuilder.Entity<UserItem>().HasKey(m => m.id);
            modelBuilder.Entity<CheckInDayTime>().HasKey(m => m.id);
            modelBuilder.Entity<CheckInHistory>().HasKey(m => m.id);
            modelBuilder.Entity<HisotryComment>().HasKey(m => m.id);
            modelBuilder.Entity<Activity>().HasKey(m => m.id);
            modelBuilder.Entity<ActivityJoin>().HasKey(m => m.id);
            modelBuilder.Entity<LikeHistory>().HasKey(m => m.id);
        }
        System.Linq.IQueryable<CheckInItem> _CheckInItem;
        /// <summary>打卡项</summary>
        public virtual System.Linq.IQueryable<CheckInItem> CheckInItem
        {
            get
            {
                if (_CheckInItem == null)
                {
                    _CheckInItem = this.Set<CheckInItem>();
                }
                return _CheckInItem;
            }
        }
        System.Linq.IQueryable<UserItem> _UserItem;
        /// <summary>用户参与的打卡项</summary>
        public virtual System.Linq.IQueryable<UserItem> UserItem
        {
            get
            {
                if (_UserItem == null)
                {
                    _UserItem = this.Set<UserItem>();
                }
                return _UserItem;
            }
        }
        System.Linq.IQueryable<CheckInDayTime> _CheckInDayTime;
        /// <summary>打卡计划</summary>
        public virtual System.Linq.IQueryable<CheckInDayTime> CheckInDayTime
        {
            get
            {
                if (_CheckInDayTime == null)
                {
                    _CheckInDayTime = this.Set<CheckInDayTime>();
                }
                return _CheckInDayTime;
            }
        }
        System.Linq.IQueryable<CheckInHistory> _CheckInHistory;
        /// <summary>打卡记录</summary>
        public virtual System.Linq.IQueryable<CheckInHistory> CheckInHistory
        {
            get
            {
                if (_CheckInHistory == null)
                {
                    _CheckInHistory = this.Set<CheckInHistory>();
                }
                return _CheckInHistory;
            }
        }
        System.Linq.IQueryable<HisotryComment> _HisotryComment;
        /// <summary>评论打卡记录</summary>
        public virtual System.Linq.IQueryable<HisotryComment> HisotryComment
        {
            get
            {
                if (_HisotryComment == null)
                {
                    _HisotryComment = this.Set<HisotryComment>();
                }
                return _HisotryComment;
            }
        }
        System.Linq.IQueryable<Activity> _Activity;
        /// <summary>活动</summary>
        public virtual System.Linq.IQueryable<Activity> Activity
        {
            get
            {
                if (_Activity == null)
                {
                    _Activity = this.Set<Activity>();
                }
                return _Activity;
            }
        }
        System.Linq.IQueryable<ActivityJoin> _ActivityJoin;
        /// <summary>活动参与人</summary>
        public virtual System.Linq.IQueryable<ActivityJoin> ActivityJoin
        {
            get
            {
                if (_ActivityJoin == null)
                {
                    _ActivityJoin = this.Set<ActivityJoin>();
                }
                return _ActivityJoin;
            }
        }
        System.Linq.IQueryable<LikeHistory> _LikeHistory;
        /// <summary>点赞记录</summary>
        public virtual System.Linq.IQueryable<LikeHistory> LikeHistory
        {
            get
            {
                if (_LikeHistory == null)
                {
                    _LikeHistory = this.Set<LikeHistory>();
                }
                return _LikeHistory;
            }
        }
        protected override string GetDesignString()
        {
            var result = new StringBuilder();
            result.Append("\r\n");
            result.Append("H4sIAAAAAAAAA+1d63PTxhb/Vxh/DsRP2Wamc4cm3KnvpTTTwO2dqfmg2ErQxZZSWeYxTGaA8gjPcAuUzuVVGGjo7S1JB1pKnNJ/JrKTT/wLd/WwLa1kKbZ2V7uJ8iXWw2vpt+fsOXvOb8+eTRzhZ2pCI7H/y7Pmx8N8XUjsT0zJDXVOEaa/qiXGEp/Lp8w7SqpQNz9Z");
            result.Append("t4lVcPkffK0JDlILY73z6pl5oX8lMaEIvCoY7R+oqKIsJWz3VmRJFSTVdvvZsvks5cR+8FGsgv+pdGGsnKjw8/q3wXE50b56R7v5dOvpu3ICXNHbMk5PHBcqJ0qS/qTGhUle5Wf4hlCa1FvJgTPiIblyAhwkF8DBhFxr1qVGWX+p7k/lcmnHb0nNWs3+E/pd4LjUONBU");
            result.Append("5ZJUUYQ6eH5wSVWagt4mLx0GXwEnZvlaQz9TnTkCADG+PCPOifrN4Kx1zmr+oNSsTwqzomQ7VxOkOfV4/7gqzPLNmmrg1D9rYGW+n4FSqTH1d+PQeh5ZqQqK8WpJ4+qk2KgoYl2UeFVWbE85UeMbDestraaNU38Fn22nQdf1kcrAvfL9la1n3zm75Iio6n3pCVnvt/0w");
            result.Append("O8krleO8Mixo5UQ6lzO+NCRu3UfoA5dCDlwWAk67uuKF3XRzZjj4rD6nCr00cvRyEHobreud1k0ndCVJVeQocMul0mhwyyDHjfMcRNvfvtPWl5zofSpXQ+nsNga5cmJ8vH3/t637b9qvfi2Xpc95aU7Y89EeoGxlqXupc+EdODoi1vUrJq42qL1wLidS5i9vH+gsEqCP");
            result.Append("6a1M/nNClmbFOcOkmGesgfdoQ1BKRj8s2M1f1TJQDlOaA43pZndaBXbTMFUBxjftY3yP67gOY3w/q1V7voCnUT0snPK/QRJOeVvWPDzsrZ9r333vJYCfzQsSISHsLJ/fWFsDYjYlKA1Z4mt9IdQu/Q88Yuc/F8GR/kQYhTCHTAgrRo9XbT1wzHjCmqC6zkYlsBmaBZYV");
            result.Append("ELM0g2jTeth31xYfaK01oHNi9cP6jeTm05ed52ud161O64l5CRoKTkkmiKOPBKO53YN0OzmsbnPILXnRE1LTZkIzInPyJdZDDaVAYAW120ZoCIf3hfK7anTMsaHYXBKWwmvfa5deAMVu31t1SuHfZFGakJuWDuKz59hUuLCrBJDDG8yBR6/O3Zftxbfa0oWN328BZ2tA");
            result.Append("bMd44zCBHS41xmpgp2iXTvyBHS49NiDcZoHUn2aDDqHHNgchRyC0w8ExMVO4Ydy66ssqbsiDOpwrJGYYEy+XRjcm1Ds0AfihCe64bcRZvdmjkviV8Vzd9kqNiVqzoQqKULX/ijFI6u0ZX+0L5bE+2r1uGr3V7hABt0rOnOWx+lMOu+RyphxXUc4zGerpcK321T06CSrQ");
            result.Append("7JFHKEe9uTnaLreSHmgb7SdTopOjIlbHOgNPyKwAv1dYwJSoSf5Mz5KO5FI7UzEMudSZJGGXmvNFinZ/0AkXCT8674sX7fOOILzQ+8/eDIn2/RflspTcm9cWL2uLP5mxVu3fL8H5zSuvwQft0s8f1m9oP1xoP37Y/m5FbxYcm/e1V5a05z9uff3H5g/nzeacg8gXgnAC");
            result.Append("jCAhsqwR9gDy9CoHhzV62c32vdVO6yJMizAM08jI/ashSzNkBkcMGdOeAdo3VeOlT+SGum9SlRv7dFSMRPCXx/5STkSaU00lSfh8dgM8yO2z37Mdz4+tQQFnoDeiUQGc/pivnGjOm3JSnVLkeUFRRcMTPWt/eV0yFN0Q8bXuM+uqvrCwQF9QOOVH8aN0EkSYNKQKp/FF");
            result.Append("5EjQhYIkt/fUHoJrUZ8W7JB43tajVg0h5vEsleAsNeXHJ0IwTU2NeVmlzVer2h/3PKepn4gNIM5nRp6m5p0TY5amqSm71uOfpub9c2RssAmcoBGYrOa982XAn2o/fOKUaCC+TGOHfOKaz/hKHBi0FHUogXOb5agxQz7VzGd9MTsoVRlHDA0l144Y7P61Lz5pX4B0c8I0");
            result.Append("X5Q6gEGYoWGQ2jGD+eKbq+e1pZWN1ovOw+tgAqnfb80dDZ6sm8Frein0hjkCEA3N2wPPJEtzFMQyiPBt7V7aoNmb/Z5BvLI8TBPvXFruXL3iFK8pscKsXIVmM5YTDVUR7ZLFAqssRYSwjEwKXbGz+79t3fvzw/qitnh565snH9avQmtmRKmpDhHTJRz4ImI9mBFFIhRb");
            result.Append("ZKLoIkxeeLf562MXy/aQeIIS+fNg2AYJYHF3CSBeim0GnpBurlzcfLU2ONACxFBWlTMTcr3e9YBHCbQU2A20pO3iiT/QUvAOghmrYtiiijqRIxBtKXhHW0yxhtGzxleWAUQecin4h1wYCfIFoIY86FKAGcrmmOqhsdYoyrriIg/CFOAgjHb5kvYKLuEROgiDv+RBEHLo");
            result.Append("nOnI/BO8nGkPd8PlIHvcM8hBLrgiVV3V1G7f7CyvDlRP8xx5ScslaRM0JpxmvDRsJEIZxENgTlRTSZpkdSwcQSE5FOmAoGT7EcMpkWybDLvqeDx/o30NVfA4cNLsYYbNOJp1+6yMrmm8hEfUMuimNv6o/XJv48+n7fMr0AS6dPB0GH8Sb64AtwzCqBpoDJs2iO0Xhvxq");
            result.Append("PIyyMhtK46W+YnQ8GV5NaovcRUeFTBMprYYqUVSEQ1S9oDJjIWXSBL6iix7ULXjRefAK4ojTvvKMCIFvx4020VcpSDNA0tk13R6uVZPkG6Eo+TFtEGSXXWbmTUu79hJyXEHjJ0V1dNJ+0X/FNM255Kx9CMaUS47UH8ZLn3GIjmuQclwd6AnBcytTRMMXKEc6wdruzNQh");
            result.Append("TyTcITi4MnCxXLVZMW8aGT6slOkA4JBn1ouuwpyr57cePdMevNcermqPIIp0qT53VKkxLXqos+xc0lXDxFBcbf2ctnzdq5LJx8Ic/eXAgmBEnWrnki56kQFjp3Wn/eiJF4zDrhmhEETUATouCRONkJbZjWDVTQCAuyzfgZmC6QopmAOZUeXUFZHpOjV6sbNRPWYu6c/r");
            result.Append("otljzhHwmO2a7b+ArtsbVMd5HJDhdwq5pH+tL+pjigF4ofYFuaR7u5WBGUqAHc05ygDoQjuBlvRIs7ItNxmZXWCA+hbIMtp+dpxmuYsqNz4WwDKyvu7JMbLYBqRqm+zk3BuzdL+450P2PAN0uKGH4B5RZvBYbKPL7O5h2ekOhBmO48EY0Y5deNmBrvnvwLB/744BoX8u");
            result.Append("6aJVGVNuVncSCHK+0e1eyELQJoOXiRU+88QlXduddSM+7O2KFBQw3F3bcmXwcsFQyB6cftr4vaVde9z+FlpjNz0vSw3aWaWEc3dcyrWdmUfK7pBc4UMmPKOHDt3mM0yoLRFeFY5CzhRiibeED4IhMOVKfN76Rltb+rB+Y6N1S1td0hZXtefL0HAoK7SY4KL+N6wZTqFj");
            result.Append("FDEhhLSzj7iUq0LFtRfa7ZuDSQy6J8hEpUsiGWS7UYa30zORbC/+t/3zs0FIMlD/Mnas7Qrtl4mPUKFHWiG3Oy0QulUFkQkh3rQfCqviol3ferl583ZPvDp3f0EhXmR36SEnWEyMhHhTXiiEMIAFQvVa6yBhQ0Bk6II40jLrSEUPb86NiBGOEr8s5QkSlJlqS2+3mb+C");
            result.Append("2HSDkmQEu4pMEoFIV/nwzfqJh5h4NjrxbGdJPpHl7KPu4WXzMobgTtLscQRt2hW66LEDUkQ+R7zXFkmNxJudoGJz+uEGTTuRfMduKJ8lshdClEkpzCJAsKuI7BUQdxWKrsIbSI67CmFX4Q23xl2FsKvwBiXjrkLYVXiDeHFXoeuqHJH95XGUe+qvccC+RxbZXBTubdus");
            result.Append("06PvDW/8FtuLGXZmwa0c3ogy2jKRXApeIWHtDgXz063lSNtXV9L09KAykTQkj2MdJKWDDJRqjUWJDVEiQhkfNU0SR/eZie7nWNrylkvBy4fYrBoR5BUgyBpbaEafbotH9SGU0S+Qj6DgF5yzNnfp9dptVd+o166QoxT7SvsT8Wgu9sXZFRR/sa+0fyFh6gu6O+DyGM+Q");
            result.Append("45X3xYv6Ql8BeOGiqoeJTNpkMHqSUA5vFg0e/FweC3zDUDHJIG13ukMsyzESvR8LUVqlK7QjBySH0xHPnqNAW/AmMrFoC33s6RzeHGOkKO5EoSeSZ0Q1r00701SwSdD7PsRkdkaMbh8kGor/xPNXQkrHMZsxDlq6ECtouMlGrHT4lI76gmNp154jy3e029BmLeaHkVUI");
            result.Append("/0b3QUszke+QkXFtNHJuWVv8CVo4LZzGy1UpJ8bHO3fflsvSp7y056M9YDwpS+Pj2ovX4P8Xct04mTZaQb+2GvmGGRm49IH27s3W+4tOTA/MhZHEKNeiI69uknHVibl6vf1wTVt664Rs6rgssa2+u6ugCUemUiCCYqkZuL4Ok8aDSIlUu966KnHsONsRACl60wFvl8OW");
            result.Append("6QiAC73lcC+QZdRyBCBHg+HYUUvAObzcJsLFtuLJTzz5GQ3TePITT36Ym/xENqHBy2MMmZ6zyZQ/dYX2qqABGX8a6nYzmMwEh9YrGeLdf6yukOv0O707wfH0GfAa9X0lSeWyxi857rYk333/tKqI0pz7C33x3/53HC818NGO6a+lX50WVOuLXHYmV+HS3N7C7Gxmb3a2");
            result.Append("mNs7U8gW9qZzXJHjUjPJfEFILPwfD9/0c/XbAAA=");
            return result.ToString();
        }
    }
}

/*<design>
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
<design>*/

